package com.wanmait.recycle.mapper;

import java.util.List;
import java.util.Set;

import org.apache.ibatis.annotations.Param;

import com.github.pagehelper.PageInfo;
import com.wanmait.recycle.pojo.Article;
import com.wanmait.recycle.pojo.Question;

public interface QuestionMapper {
    int deleteByPrimaryKey(Integer id);

    int insert(Question record);

    int insertSelective(Question record);

    Question selectByPrimaryKey(Integer id);

    int updateByPrimaryKeySelective(Question record);

    int updateByPrimaryKey(Question record);

    
    //获得所有的问题
	List<Question> findAll();
	//上线问题
	void shangXian(Integer id);
	//下线问题
	void xiaXian(Integer id);
	//多问题上线
	void shangXianByIds(String[] ids);
	//多问题下线
	void xiaXianByIds(String[] ids);
	
	//通过垃圾id找问题
	List<Question> findAllByRubbishId(Integer rubbishId);
	//分页显示问题
	List<Question> findAllByPage();
	//根据问题id返回问题对象
	Question findById(Integer id);
	
	//添加问题
	void addQuestion(Question question);
	//根据userinfoid查全部问题
	List <Question> findAllByUserId(Integer id);

	List<Question> findAllByRubbishIdAndUserinfoId(@Param("rubbishId")Integer rubbishId, @Param("userinfoId")Integer userinfoId);

	void isSolve(Integer id);
	
	/*同步redis,更新收藏数量*/
	void processCollectCount(Question question);
    //根据时间排序查找
	List<Question> findAllByPageAndTime();
	//根据热度排序查找
	List<Question> findAllByPageAndRedu();
	
	/*同步redis,更新浏览次数*/
	void processQuestionViewCount(Question question);
//	
	void addReplyCount(Integer id);

	List<Question> findCollectQuestion(@Param("questionIds")Set<Integer> questionIds);
}